1. Field of the Invention
The present invention relates to a program implemented on a computer, and more particularly, to a user interface for exploring and analyzing information.
2. Discussion of the Related Art
Information processing analysis has become increasingly important. Also, information processing has become part of almost every work environment. Moreover, the amount of data collected and the complexity of the desired analyses of that collected data are continuously growing. Accordingly, the tools for such analyses have become highly specialized, requiring considerable knowledge of the operational details, search languages, and mathematical theory. As a result, the available tools are difficult to use and provide very limited functionality. Historically, only highly trained individuals had the skill to use analysis and visualization tools.
Information systems, such as decision support systems, databases, and statistical analysis tools typically process and generate large amounts of data to be examined and acted upon by analysts, managers, and technicians. Because of the diversity of information in these systems, it is very difficult to create a customized human/computer interface that enables users to examine data effectively. Each situation presents a unique problem-solving goal that requires an interface to be customized for a specific type of information and for a particular method of searching, analyzing, and combining the information.
While system developers often devote substantial resources to implementing display programs to express information, the resulting display capabilities are typically inadequate. For example, the display capabilities are usually narrow in purpose, difficult to transfer to new applications, and inflexible in user interaction. Also, developers of information systems often do not have expert graphics or interface development knowledge, thereby resulting in poorly designed displays despite considerable development effort.
This problem is pervasive throughout a variety of environments such as government, industry and academic research institutions. As computer resources become more powerful and readily available, new systems are being created to store and make use of large quantities of information. In many areas, effort is being focused on the development of enhanced decision-making tools (e.g., logistics and distribution planning, scheduling, and tracking). In some industries, up to an estimated 40% of the development effort in these systems will be devoted to interface issues. Accordingly, new electronic abilities are needed for people who must examine large quantities of diverse data.
A software tool for the creation of information displays and interfaces will be significantly enhanced by the ability to create information presentations using diverse and customizable graphical techniques with flexibility for integrating many combinations of unique techniques. Some examples of such presentations are techniques to create interactive displays that enable users to examine, search and explore data at many levels of abstraction, as well as to perform manipulation tasks (e.g. database updates); assist in the design of information displays and interfaces by providing computerized knowledge of information characteristics, information analysis and graphic design; simplify the task of specifying an information display by providing a mechanism for expressing characteristics of information to be visualized as well as the function that a display will serve; automate many aspects of display design while preserving the ability of system developers and end-users to control and modify the display design decisions; and provide these capabilities across many different application domains.
Currently, only presentation graphics packages, such as stand-alone packages or components of other popular commercial software, special-purpose charting and graphing packages, and user interface building toolkits can be used for the above noted needs. However, these products do not fully address the above requirements for a variety of reasons.
First, there is no computerized knowledge of the display design. Accordingly, existing systems cannot assume any of the burden from developers in making design decisions and generating novel displays. Also, existing systems cannot freely integrate graphical techniques from their libraries to customize displays for combinations of many different types of information.
Second, there is no easy mechanism for specifying user needs. Existing presentation graphics systems provide lengthy menus of graphical styles, but no mechanism for users to easily specify their needs.
Third, existing products offer few interactive capabilities. Commercial graphics packages are just beginning to provide interactive capabilities, as opposed to static presentations. These interactive packages are limited to simple interface functions for predefined display types. For example, a graphics package may provide bar chart displays in which users can select individual bars with a computer mouse to view the portion of a spreadsheet from which the bar was derived or manipulate the length of a bar to modify spreadsheet values. However, no capabilities for searching many levels of data using different types of display at each level are possible.
Fourth, graphics packages offer no flexibility for complex combinations of data. The packages typically provide many simple displays. Some packages may provide display styles for conveying complex combinations of data; however, they are not modifiable for new, unanticipated combinations of data. This is a serious problem for applications that depend on complex data requiring many combinations of temporal, spatial, and other quantitative information.
Fifth, current interface toolkits offer limited information presentation capabilities. In fact, interface style definitions like Motif within the X environment have not addressed the need for standards for information presentation graphics and provide little support other than primitive drawing capabilities. As a result, while there are many efforts to develop X-based interface building toolkits and other efforts to provide PC-level presentation graphics, there has been no attempt to integrate the two.